package com.punch.system.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 全国地区表
 * </p>
 *
 * @author wjj
 * @since 2020-12-04
 */
@Data
@Accessors(chain = true)
@TableName("sys_nation_area")
public class SysNationArea {

    private static final long serialVersionUID = 1L;


    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 所有父级地区id
     */
    @TableField("parent_ids")
    private String parentIds;

    /**
     * 父级地区id
     */
    @TableField("parent_id")
    private Integer parentId;

    /**
     * 编码
     */
    @TableField("ad_code")
    private String adCode;

    /**
     * 省-0,市-1,区-2
     */
    @TableField("level")
    private Integer level;

    /**
     * 全称
     */
    @TableField("full_name")
    private String fullName;

    /**
     * 简称
     */
    @TableField("short_name")
    private String shortName;


    /**
     * 拼音
     */
    @TableField("pinyin")
    private String pinyin;

    /**
     * 经度
     */
    @TableField("lng")
    private String lng;

    /**
     * 纬度
     */
    @TableField("lat")
    private String lat;

    /**
     * 直接子集数量,默认0
     */
    @TableField("child_number")
    private Integer childNumber;

    /**
     * 状态 0-停用 1-启用
     */
    @TableField("status")
    private Integer status;
    /**
     * 排序
     */
    @TableField("sort_by")
    private Integer sortBy;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;


    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 0正常，1删除
     */
    @JSONField(serialize = false)
    @TableLogic
    private Integer delFlag;


}
